Terminology for Tools

Alias

An alternate name for a column (property).

For example, you could define Postal Code as the alias for the Zip column name.

Business Object

A collection of self-contained data that represents an entity or process, and shields the physical data.

For example, the CsContact business object can represent a view of a person or organization and the processes that a person or organization can perform.

Note: You can change the way a property is displayed in your query results by editing the property’s display in Business Object Designer. For example, you can change the date display from a short date, like 2/10/2011, to a long date: Thursday, February 10, 2011. From Tools > Business object designer, open a business object and select the Properties tab. Select a property from the list, and then click the Display tab. The Display Mask drop-down list is shown if display options are available for the property.

Comparison Method

Specifies the method by which data is restricted for a column.

For example, to return orders for more than $1000.00, create a filter set that uses the “Greater” Comparison operator and enter “1000” in the Value field.

Document System

A server-side file system containing documents and objects (business objects, query objects, and output processes).

Display Order

Refers to the columns that display in the results for a query.

Note: The default column sort order is derived from the first query source. You can override the sort order, if necessary.

Filter

One or more column-specific search conditions.

For example, if you wanted all contacts who live in Texas (CsContact.STATE_PROVINCE = “TX”) or who subscribe to a journal (Subscriptions.PRODUCT_CODE = “JOUR”), you could define a filter set using the Or connector, so that only those contacts either from Texas or who subscribe to a journal return.

Function

Summarizes some characteristic of the current set of rows. The functions that are available depend on the data type of the column you selected.

Note: You must select only one column when using a function. For example, if you want the maximum ID, ID must be the only column listed on the Display tab.

Avg

Returns the average of the values in the specified column.
(Numeric data type only)

Count

Returns the number of rows that are in the table or that meet certain conditions.
(Any data type)

Max

Returns the maximum value found in the specified column.
(Character and numeric data types)

Min

Returns the minimum value found in the specified column.
(Character and numeric data types)

Sum

Returns the sum of all values found in the specified column.
(Numeric data type only)

IQA

Intelligent Query Architect. The query-building tool used to extract data from the iMIS database.

Object

Self-contained element that consists of instructions to manipulate data; for example, a business object or query object.

Parameterized Query

A query that requires a value from the user at runtime.

For example, a query to obtain the registrants for a closed event may prompt the user at runtime to supply the event code of the closed event.

Example of a filter definition for a parameterized query

Example of a prompt that displays when a parameterized query is run

Priority

The order in which the data for a particular column is sorted.

Query

User-defined criteria used to retrieve a subset of data.

Relation

The part of a query definition that specifies a relationship between two or more sources, which effectively creates a new temporary table against which the query is run. Because the relationship pre-filters the data in the two sources, the query can run faster and with less impact on the system. If you specify multiple sources for a query but forget to define relationships among the sources, iMIS reminds you that one or more sources have not been related (and by default defines a CROSS JOIN relationship between the two sources).

For example, assume you are defining a query to return a list of only those members who have made orders over the amount of $1,000. The information needed for this query is in two different sources: CsContact and CsOrders. By creating a relationship between the sources where CsContact.iMIS Id Equals CsOrders.Bill To Id, you are creating an INNER JOIN between the two sources, which makes the query run more efficiently. Other relationship operators besides Equals (=) can produce slightly different results because they would produce different temporary sources, as described in the next section.

Several default relations among business object sources are pre-defined in iMIS. These default relations are available to choose from a list when you have defined two or more query sources that contain the underlying default joins. You can use these default relations or you can define custom relations.

Default Relations Through Virtual Foreign Keys

In iMIS 10.x, the default list of relations available to an IQA query was manually defined on the Related tab of each iMIS business object definition. To enable better referential data integrity in custom extensions to iMIS, the list of available default relations in iMIS 15 is now populated automatically based on foreign key relationships among the tables used in each business object used as sources for the query.

The tables used by the Cs… objects, however, are still used by older OMNIS code in the product, and attempting to create foreign keys in any of the tables associated with the Cs… objects would have caused problems. To work around this temporary issue until iMIS no longer uses OMNIS code, we have hard-coded some virtual foreign keys for the tables used by the Cs… objects.

Because these are virtual foreign keys in our iMIS code and not actual foreign keys on the underlying tables, you will not always find a corresponding foreign key in the iMIS database for every default relation in an IQA query that uses a Cs… object.

These changes to the underlying manner in which the list of default relations for an IQA query is populated does not change IQA itself in any significant way. You should still see most of the default relations that were available in previous releases, and you can still manually create any Custom relations you need for a specific query.

Caution! You must not attempt to manually add foreign keys to any standard iMIS table, because this could compromise data integrity.

You can and should, however, define foreign keys on custom tables that you need to link to standard iMIS tables for referential integrity. When adding a foreign key to a custom table, you must include an ON DELETE CASCADE referential action to ensure that when iMIS deletes records from the referenced iMIS table, the corresponding record is also deleted from the referencing custom table.

Note: when you add such a foreign key to a custom table, a corresponding default relation will also be available in IQA queries that use the tables in the foreign key relationship.

Relationship (Join) Operator

The specific type of relationship between two sources. The following relationship operators are available in IQA. Each operator builds a different temporary source against which the query is run:

■    Equals - Defines an INNER JOIN between the two sources in the SELECT statement that builds the query table.

■    Left Join - Defines a LEFT OUTER JOIN between the two sources in the SELECT statement that builds the query table.

■    Exists - Defines an EXISTS subquery in the WHERE clause of the SELECT statement that builds the query table. The subquery tests for matches between the specified columns in the two sources.

■    Not Exist - Defines a NOT EXISTS subquery in the WHERE clause of the SELECT statement that builds the query table. The subquery tests for matches between the specified columns in the two sources.

■    Or Exists - Defines an OR EXISTS subquery in the WHERE clause of the SELECT statement that builds the query table. The subquery tests for matches between the specified columns in the two sources.

■    Or Not Exist - Defines an OR NOT EXISTS subquery in the WHERE clause of the SELECT statement that builds the query table. The subquery tests for matches between the specified columns in the two sources.

■    Schema

■    The structure of a database.

■    Source

■    Object that is available for building query definitions. Sources include both business objects and query objects. Query definitions can be created based on one or more sources.